volume {{ volname }}-posix
    type storage/posix
    option volume-id {{ volume_id }}
    option directory {{ brick_path }}
end-volume

volume {{ volname }}-changelog
    type features/changelog
    option changelog-brick {{ brick_path }}
    option changelog-dir {{ brick_path }}/.glusterfs/changelogs
    subvolumes {{ volname }}-posix
end-volume

volume {{ volname }}-access-control
    type features/access-control
    option super-uid 0
    subvolumes {{ volname }}-changelog
end-volume

volume {{ volname }}-locks
    type features/locks
    subvolumes {{ volname }}-access-control
end-volume

volume {{ volname }}-quota
    type features/simple-quota
    option pass-through false
    option cmd-from-all-client true
    subvolumes {{ volname }}-locks
end-volume

volume {{ volname }}-upcall
    type features/upcall
    option cache-invalidation off
    option cache-invalidation-timeout 60
    subvolumes {{ volname }}-quota
end-volume

volume {{ volname }}-io-threads
    type performance/io-threads
    subvolumes {{ volname }}-upcall
end-volume

volume {{ volname }}-barrier
    type features/barrier
    option barrier disable
    option barrier-timeout 120
    subvolumes {{ volname }}-io-threads
end-volume

volume {{ volname }}-index
    type features/index
    option xattrop64-watchlist trusted.ec.dirty
    option xattrop-dirty-watchlist trusted.afr.dirty
    option xattrop-pending-watchlist trusted.afr.{{ volname }}
    option index-base {{ brick_path }}/.glusterfs/indices
    subvolumes {{ volname }}-barrier
end-volume

volume {{ brick_path }}
    type debug/io-stats
    option unique-id /no/such/path
    subvolumes {{ volname }}-index
end-volume

volume {{ volname }}-server
    type protocol/server
    option transport-type tcp
    option transport.socket.read-fail-log false
    option auth.addr.{{ brick_path }}.allow *
    subvolumes {{ brick_path }}
end-volume
